<?php

class Login extends CFormModel {

    public $login;
    public $password;
    public $rememberMe;

    public function rules() {
        return array(
            array('login, password', 'required', 'message'=>'{attribute} не может быть пустым'),
            array('rememberMe', 'boolean'),
        );
    }
   
    public function attributeLabels() {
        return array (
            'login' => 'Логин',
            'password' => 'Пароль',
            'rememberMe' => 'Запомнить меня'
        );
    }
    
    public function loginUser() {
        if($this->validate()) {
            $identity = new UserIdentity($this->login, md5($this->password));
            $identity->authenticate();
            switch($identity->errorCode) {
                case UserIdentity::ERROR_NONE:
                    Yii::app()->user->login($identity, $this->rememberMe ? 3600 * 24 * 7 : 0);
                    break;
                case UserIdentity::ERROR_ACCOUNT_BLOCKED:
                    $this->addError('', 'Ваш аккаунт заблокирован до '.Yii::app()->dateFormatter->format("HH:mm dd MMMM yyyy года", $identity->unblockDate));
                    break;
                case UserIdentity::ERROR_ACCOUNT_BANNED:
                    $this->addError('', 'Ваш аккаунт заблокирован бессрочно');
                    break;
                case UserIdentity::ERROR_USERNAME_INVALID:
                    $this->addError('', 'Подобной комбинации пароля и логина нет');
                    break;
            }
            return !$this->hasErrors();
        }
        return false;
    }
}